package cn.tedu.charging.device.startup;

import cn.tedu.charging.device.service.DeviceService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.stereotype.Component;

/**
 * 缓存预热
 * 在项目启动的时候
 * 从数据库查询 场站信息
 * 保存到 Redis的GEO中
 * ApplicationRunner 接口作用如下：
 * 项目启动完成后，就会调用这个run方法
 * 可以在run方法中可以编写缓存预热的逻辑
 * 1 从数据库查询 场站信息
 * 2 保存到 Redis的GEO中
 **/
@Slf4j
@Component
public class StationDataInit implements ApplicationRunner {
    @Autowired
    private DeviceService deviceService;

    @Override
    public void run(ApplicationArguments args) throws Exception {
        log.debug("缓存预热开始");
        //1 从数据库查询场站信息
        //2 保存场站信息到Redis的GEO中
        deviceService.initStationData();//待完善
        log.debug("缓存预热结束");
    }
}
